package eteam.aps.mapper;

import eteam.aps.model.dto.ScanProDto;
import eteam.aps.model.entity.ScanProWithout;
import eteam.aps.model.vo.scan.ScanProWithoutVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 未扫描工序 持久层
 *
 * @author LiuLei
 */
@Mapper
public interface ScanProWithoutMapper {


    /**
     * 查询该工单是否存在扫描工序
     *
     * @param map 条码
     * @return 查询到的数量
     */
    List<ScanProWithoutVo> selListByBarCode(Map<String, Object> map);

    /**
     * 批量保存 扫描工序
     *
     * @param list 产品扫描工序
     * @return 增加的条数
     */
    int batchInsertScanProWithout(Collection<ScanProWithout> list);

    /**
     * 根据物料编号 查询是否存在扫描工序
     *
     * @param map 查询条件
     * @return 扫表工序
     */
    ScanProWithoutVo selByInvCode(Map<String, Object> map);

    /**
     * 修改原来的扫描工序
     *
     * @param scanProWithout 修改的条件
     * @return 修改的条数
     */
    int updateQtyScanProWithout(ScanProWithoutVo scanProWithout);

    /**
     * 修改原来的扫描工序
     *
     * @param scanProDto 修改的条件
     * @return 修改的条数
     */
    int updateQtyWithout(ScanProDto scanProDto);

    /**
     * 条件查询扫描工序
     *
     * @param map 条件
     * @return 扫描工序
     */
    List<ScanProWithoutVo> selByScanQuery(Map<String, Object> map);

    /**
     * 条件查询扫描工序
     *
     * @param map 条件
     * @return 扫描工序
     */
    int selByScanQueryCount(Map<String, Object> map);

    /**
     * 查询未扫描数量
     *
     * @param map 查询条件
     * @return 查询到的数量
     */
    int selWithoutCount(Map<String, Object> map);

    /**
     * 查询未扫描数据集
     *
     * @param map 查询条件
     * @return 查询到的结果集
     */
    List<ScanProWithoutVo> selWithoutLis(Map<String, Object> map);

    /**
     * 删除未扫描数据
     *
     * @param map 删除条件
     * @return 删除的条数
     */
    int delWithout(Map<String, Object> map);
}